﻿// using System;
// using System.IO;
// using System.Runtime.InteropServices;
// using UnityEngine;
// using System.Text;
// using System.Threading;
//
// [FM_Mono.IgnoreGen]
// public class StreamingAssetReader
// {
// #if UNITY_ANDROID && !UNITY_EDITOR
//
// 	[DllImport("native_helper", CallingConvention = CallingConvention.Cdecl)]
// 	public static extern IntPtr ReadAssetsBytes(string path, out int size);
// 	
// 	[DllImport("native_helper", CallingConvention = CallingConvention.Cdecl)]
// 	public static extern void ReleaseBytes(IntPtr bytes);
// 	
// 	public static byte[] ReadStreamingAsset(string path)
// 	{
// 		int size;
// 		IntPtr ptr = ReadAssetsBytes(path, out size);
// 		
// 		if (size < 0)
// 		{
// 			UnityEngine.Debug.LogError("Read Assets Error " + path);
// 			return null;
// 		}
// 		
// 		if (size == 0)
// 		{
// 			return new byte[0];
// 		}
//
// 		byte[] result = new byte[size];
// 		Marshal.Copy(ptr, result, 0, (int)size);
// 		ReleaseBytes(ptr);
// 		return result;
//
// 	}
//
// #else
//
// 	public static byte[] ReadStreamingAsset(string path)
// 	{
// 		string finalPath = FibMatrix.IO.PackageManager.streamingAssetsPath + "/" + path;
// 		return File.Exists(finalPath) ? File.ReadAllBytes(finalPath) : null;
// 	}
//
// #endif
// }
